package com.hysoft.cxf.ws.restful;

import java.util.List;
import java.util.Map;

import javax.ws.rs.GET;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import com.hysoft.cxf.po.Cat;
import com.hysoft.cxf.ws.utils.HyXmlAdapter;
import com.hysoft.cxf.ws.utils.StringCat;

@Path(value = "/restHelloWorld")

//客户端调用时url中加入_type=json 或_type=xml  选择返回的类型
@Produces({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
public interface RestHelloWorld {

	@POST
	@Path("/say/")
	public String say(String name);
	
	@GET
	@Path("/getCatsByUser/{name}")
	List<Cat> getCatsByUser(@PathParam("name") String name);
	
	@GET
	@Path("/getAllCats1/")
	//不支持map类型
	Map<String,Cat> getAllCats1();
	
	@GET
	@Path("/getAllCats2/")
	//类型转换器
	@XmlJavaTypeAdapter(value = HyXmlAdapter.class) Map<String,Cat> getAllCats2();
	
	@GET
	@Path("/getAllCats3/")
	//替代map类型
	StringCat getAllCats3();

}
